package com.steven.design.JieGou_Pattern.bridge;

/**桥接模式
 *这时我们再来回顾一下官方定义：将抽象部分与它的实现部分分离，
 * 使它们都可以独立地变化。抽象部分指的是父类，对应本例中的汽车类，
 * 实现部分指的是不同子类的区别之处。将子类的区别方式
 * —— 也就是本例中的颜色 ——
 * 分离成接口，通过组合的方式桥接颜色和形状，这就是桥接模式，
 * 它主要用于两个或多个同等级的接口
 */
public class DrawTest {

    public static void main(String[] args) {
        AoDiCar aoDiCar = new AoDiCar();
        aoDiCar.setColor(new RedColor());
        aoDiCar.brand();
        AoDiCar aoDiCar2 = new AoDiCar();
        aoDiCar2.setColor(new GreenColor());
        aoDiCar2.brand();
        BenChiCar benChiCar = new BenChiCar();
        benChiCar.setColor(new GreenColor());
        benChiCar.brand();
        BaoMaCar baoMaCar = new BaoMaCar();
        baoMaCar.setColor(new BlueColor());
        baoMaCar.brand();
    }
}
